﻿using SIG.Model.Identity;
using SIG.ViewModel.Admin.Menus;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

namespace SIG.Service
{
    public interface IMenuService : IEntityService<Menu>
    {
        List<Menu> GetFrontMenus(int categoryId);
        Menu CreateAndSort(Menu menu);
        // Menu UpdateAndSort(Menu menu);
        void ResetSort(int categoryId);
        Menu GetMenuWithChildMenus(int Id);
        List<Menu> GetShowMenus(int categoryId);

        Task<IEnumerable<Menu>> GetMenus(int categoryId, CancellationToken cancellationToken = default(CancellationToken));
        int UpMoveMenu(int id);
        int DownMoveMenu(int id);
        List<Menu> GetFaltMenus(int categoryId);
        //List<MenuVM> GetFaltMenus(int categoryId);
        List<Menu> GetMenusByCategoryId(int categoryId);

        List<Menu> CurrenMenuCrumbs(int categoryId);

        Menu GetCurrenMenu();
        //IList<Menu> GetActiveMenus();
    }
}
